The present technique relates to an apparatus and method for filtering transactions.
It is known to provide interconnect circuitry for interconnecting a number of master devices with a number of slave devices, to enable transactions to be performed between the master devices and the slave devices in order to transfer data between the master and slave devices. Each transaction between a master device and a slave device will comprise one or more transfers. Typically a predetermined bus protocol is used defining requirements for the various signals routed through the interconnect circuitry to represent the transfers, and allowed transitions in those signals.
At one or more locations in the connection paths provided by the interconnect circuitry between the master and slave devices, it may be desirable to perform a filtering operation to selectively block certain transfers. For instance, the filtering operation may determine that one or more transfers should not be allowed to proceed having regard to specified criteria. For example, considering a security-based filtering operation, it may be determined that a particular transfer would violate certain security requirements and accordingly should be blocked.
In order to ensure high performance, it is desirable that any such filtering operations do not introduce significant delay into the routing of the various signals of each transfer through the interconnect. However, it is also important to ensure that the filtering decisions made are managed carefully so as to ensure that they do not cause any violations to occur in respect of the bus protocol adopted within the interconnect circuitry.